#ifndef _GAMEINFO_H_
#define _GAMEINFO_H_

#include "move.h"

enum PlayerType {
    HUMAN = 0,
    AI,
};

class GameInfo
{
public:
    GameInfo();
    ~GameInfo();

    void setBlack(PlayerType type);
    PlayerType getBlack();

    void setWhite(PlayerType type);
    PlayerType getWhite();

    PlayerType getPlayerTypeByColor(int color);

    void setPromotion(SpecialRuleType promotion);
    SpecialRuleType getPromotion();

    void setPromotionX(int x);
    int getPromotionX();

    void setPromotionY(int y);
    int getPromotionY();

    void quit();
    bool shouldQuit();

    void reset();

    void setAiDepth(int depth);
    int getAiDepth();

private:
    PlayerType _blackType, _whiteType;

    SpecialRuleType _lastPromotion;
    int _promotionX, _promotionY;

    bool _quitConfirmed;

    int _aiDepth;

};

#endif // _GAMEINFO_H_
